package com.hutao.medical.mapper.retrieval;


import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.hutao.medical.pojo.dto.MedRetireDto;
import com.hutao.medical.query.FullTextVO;
import com.hutao.medical.query.MedicalRetriveVo;
import com.hutao.medical.query.QueryManageVo;
import com.hutao.medical.query.SearchVo;

public interface MedRecordRetrievalMapper {

	/**
	 * 查询临床检索
	 * @param medRetireDto
	 * @return
	 */
	List<String> getClinicalRetrievalList(MedRetireDto medRetireDto);
	
	/**
	 * 查询临床检索的总数量
	 * @param medRetireDto
	 * @return
	 */
	int getClinicalRetrievalCount(MedRetireDto medRetireDto);
	
	
	/**
	 * 查询2,3,7日归档率
	 * @param medRetireDto
	 * @return
	 */
	List<Map<String,Object>> getPigeonholeRate(MedRetireDto medRetireDto);
	
	/**
	 * 入院统计
	 * 
	 * @param beginDate
	 * @param endDate
	 * @return
	 */
	List<Map<String, Object>> admissionStatistics(@Param("beginDate") String beginDate, @Param("endDate") String endDate);
	
	/**
	 * 从事职业构成统计
	 * 
	 * @param beginDate
	 * @param endDate
	 * @return
	 */
	List<Map<String, Object>> makeACareerStatistics(@Param("beginDate") String beginDate, @Param("endDate") String endDate);
	
	/**
	 * 
	 * 付费方式统计
	 * @param beginDate
	 * @param endDate
	 * @return
	 */
	List<Map<String, Object>> wayOfPayingStatistics(@Param("beginDate") String beginDate, @Param("endDate") String endDate);
	
	/**
	 * 诊治疾病顺位
	 * 
	 * @param params
	 * @return
	 */
	List<Map<String, Object>> diagnosisAndTreatmentOfDiseases(Map<String, Object> params);
	
	/**
	 * 住院手术顺位
	 * 
	 * @param params
	 * @return
	 */
	List<Map<String, Object>>  hospitalizationInLineStatistics(Map<String, Object> params);
	
	/**
	 * 病案上架率
	 * @param medRetireDto
	 * @return
	 */
	List<Map<String,Object>> getShelvedRate(MedRetireDto medRetireDto);
	
	/**
	 * 科室统计
	 * @param medRetireDto
	 * @return
	 */
	List<Map<String,Object>> getMedRecordStatisByOffice(MedRetireDto medRetireDto);

//	/**
//	 * 添加病案审核信息
//	 * @param medRecordExamnation
//	 */
//	void addMedRecordExamnation(MedRecordExamnation medRecordExamnation);
	
	
	List<Map<String,Object>> getMedicalRecordRetrieval(MedicalRetriveVo medicalRetriveVo);
	
	
	int getMedicalRecordRetrievalCount(MedicalRetriveVo medicalRetriveVo);
	
	
	List<String> getMedRecodRetrievalList(QueryManageVo queryManageVo);
	
	int getMedRecodRetrievalCount(QueryManageVo queryManageVo);
	
	
	List<Map<String,Object>> getSpecialMedicalList(SearchVo searchVo);
	
	int getSpecialMedicalCount(SearchVo searchVo);
	
	
	
	List<String> getFullText(@Param("fulltextVoList") List<FullTextVO> fulltextVoList);

	
	List<Map<String, Object>> getOfficeWork(QueryManageVo queryManageVo);
	
	
	int getInHospitalNum(QueryManageVo queryManageVo);
	
	
	List<Map<String,Object>> getNurseDays(QueryManageVo queryManageVo);
	
}
